package org.mvel2.tests.core;
import junit.framework.TestCase;
import org.mvel2.MVEL;
import org.mvel2.ParserContext;
import org.mvel2.optimizers.OptimizerFactory;
/**
* @author Mike Brock .
*/
public class UnsupportedFeaturesTests extends TestCase {
public void testJavaStyleClassLiterals() {
MVEL.COMPILER_OPT_SUPPORT_JAVA_STYLE_CLASS_LITERALS = true;
OptimizerFactory.setDefaultOptimizer("ASM");
assertEquals(String.class, MVEL.executeExpression(MVEL.compileExpression("String.class")));
OptimizerFactory.setDefaultOptimizer("reflective");
assertEquals(String.class, MVEL.executeExpression(MVEL.compileExpression("String.class")));
OptimizerFactory.setDefaultOptimizer(OptimizerFactory.DYNAMIC);
assertEquals(String.class, MVEL.eval("String"));
assertEquals(String.class, MVEL.eval("java.lang.String"));
assertEquals(java.util.ArrayList.class, MVEL.eval("java.util.ArrayList"));
assertEquals(String.class, MVEL.eval("(String)"));
assertEquals(String.class, MVEL.eval("(java.lang.String)"));
assertEquals(java.util.ArrayList.class, MVEL.eval("(java.util.ArrayList)"));
assertEquals(String.class, MVEL.eval("(String.class)"));
assertEquals(String.class, MVEL.eval("(java.lang.String.class)"));
assertEquals(java.util.ArrayList.class, MVEL.eval("(java.util.ArrayList.class)"));
assertEquals(String.class, MVEL.eval("String.class"));
assertEquals(String.class, MVEL.eval("java.lang.String.class"));
assertEquals(java.util.ArrayList.class, MVEL.eval("java.util.ArrayList.class"));
assertEquals(Class.class, MVEL.analyze("String", ParserContext.create()));
assertEquals(Class.class, MVEL.analyze("String.class", ParserContext.create()));
assertEquals(Class.class, MVEL.analyze("java.lang.String.class", ParserContext.create()));
assertEquals(Class.class, MVEL.analyze("java.util.ArrayList.class", ParserContext.create()));
MVEL.COMPILER_OPT_SUPPORT_JAVA_STYLE_CLASS_LITERALS = false;
}
}